// 一. 导入express包
const express = require("express")
//导入数据库配置文件
const { debug } = require("../config")
const { getAll, getById, exec } = require("../db")
// 二. 创建router路由对象
const router = express.Router()
// 三. 编写路由规则

/**
 * 获取所有用户
 * GET /ggtraffic
 */

router.get("/", async (req, res) => {
  // 操作数据库
  // 1. 编写sql语句

  /* 获取全部用户 */
  let sql = `select * from gg_traffic`
  const data = await getAll(sql)

  res.send({
    code: 0,
    message: "获取所有实时路况信息成功",
    result: data
  })
})

/**
 * 获取单个用户 根据id获取单个实时路况
 * GET /gg_user/:id
 */
 router.get('/:id', async (req, res) => {
  const { id } = req.params
  let sql = `select * from gg_traffic where traffic_id='${id}'`
  const data = await getById(sql)
  if (data != null) {
    res.send({
      code: 0,
      message: '获取单个实时路况成功',
      result: data,
    })
  } else {
    res.send({
      code: 100101,
      message: '该路况信息不存在',
      result: debug ? err : "",
    })
  }
})

/**
 * 新增
 * POST /ggtraffic
 */
router.post("/", async (req, res) => {
  // 一. 解析请求参数
  const {traffic_path,traffic_road,traffic_vehicleflow,traffic_time} = req.body
  // 二. 操作数据库
  let sql = `insert into gg_traffic (traffic_path,traffic_road,traffic_vehicleflow,traffic_time) values ('${traffic_path}','${traffic_road}','${traffic_vehicleflow}',now())`
  const data = await exec(sql)
  // 三. 返回结果
  res.send({
    code: 0,
    message: "新增实时路况信息成功",
    result: {
      id: data.insertId,
      traffic_path,
      traffic_road,
      traffic_vehicleflow,
      traffic_time
    },
  })
})

/**
 * 删除用户
 * DELETE /ggTRAFFIC/:id
 */
router.delete("/:id", async (req, res) => {
  // 一. 解析请求参数
  const { id } = req.params
  // 二. 操作数据库
  let sql = `delete from gg_traffic where traffic_id=${id}`
  await exec(sql)
  // 三. 返回结果
  res.send({
    code: 0,
    message: "删除实时路况信息成功",
    result: "",
  })
})

// 四. 导出路由对象
module.exports = router
